﻿using System;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000068 RID: 104
	public abstract class Poser : MonoBehaviour
	{
		// Token: 0x0600045A RID: 1114
		public abstract void AutoMapping();

		// Token: 0x0600045B RID: 1115
		public abstract void StoreDefaultState();

		// Token: 0x0600045C RID: 1116
		public abstract void FixTransforms();

		// Token: 0x0600045D RID: 1117 RVA: 0x00004C54 File Offset: 0x00002E54
		public virtual void Start()
		{
			this.StoreDefaultState();
		}

		// Token: 0x0600045E RID: 1118 RVA: 0x00004C5C File Offset: 0x00002E5C
		public virtual void Update()
		{
			if (this.fixTransforms)
			{
				this.FixTransforms();
			}
		}

		// Token: 0x040002F3 RID: 755
		public Transform poseRoot;

		// Token: 0x040002F4 RID: 756
		[Range(0f, 1f)]
		public float weight = 1f;

		// Token: 0x040002F5 RID: 757
		[Range(0f, 1f)]
		public float localRotationWeight = 1f;

		// Token: 0x040002F6 RID: 758
		[Range(0f, 1f)]
		public float localPositionWeight;

		// Token: 0x040002F7 RID: 759
		public bool fixTransforms = true;
	}
}
